<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <input type="text">
    <ul>

    </ul>
    <script src="/js/ajax.js"></script>
    <script src="/js/template-web.js"></script>
    <script type="text/html" id="tpl">
        {{each result}}
        <li>{{$value}}</li>
        {{/each}}
        
    </script>
    <script>
        var search = document.querySelector('input');
        var listbox = document.querySelector('ul');
        var timer = null;
        //当用户在文本中输入时触发
        search.oninput = function () {
            //清楚上一次开启的定时器
            clearTimeout(timer);
            //获取用户输入的内容
            var key = this.value;
            //如果用户没有在搜索框中输入内容
            if (key.trim().length == 0) {
                listbox.style.display = 'none';
                //阻止程序向下执行
                return;
            }
            //向服务器端发送请求,为了解决重复发送，用到定时器
            //向服务器端索取和用户输入关键字相关的内容
            timer = setTimeout(function () {
                ajax({
                    type: 'get',
                    url: 'http://localhost:3000/searchAutoPrompt',
                    data: {
                        key: key
                    },
                    success: function (result) {
                        //使用模板引擎拼接字符串
                        var html = template('tpl', {
                            result: result
                        })
                        //将拼接好的字符串显示在页面中
                        listbox.innerHTML = html;
                        listbox.style.display = 'block'

                    }
                })
            }, 800);

        }
    </script>
</body>

</html>